Apparatus and methods for coordinated query and response service discovery

ABSTRACT

Apparatus and methods for, among other things, a grouped based reactive service discovery protocol are discussed. In an example, a method can include broadcasting a first group beacon at a group interval using a first station belonging to a first group of stations and broadcasting a service request to the second group during a query interval of the second group. In an example, the first group beacon can include a service update alert configured to alert other members of the first group of an anticipated service request and response event to learn services available from a second group.

CLAIM OF PRIORITY AND RELATED APPLICATIONS

This application claims the benefit of priority under 35 U.S.C. 119(e)to Kim et al., U.S. Provisional Patent Application Ser. No. 61/715,916,entitled, “METHOD OF COORDINATED QUERY AND RESPONSE FOR SERVICEDISCOVERY”, filed Oct. 19, 2012, hereby incorporated by reference hereinin its entirety.

TECHNICAL FIELD

Examples pertain service discovery protocols and, more particularly, tocoordinated service discovery communications for individual stations andgroups of wireless devices.

BACKGROUND

Service discovery protocols can allow devices to find available serviceswith or without intervention of a device user. When service discovery iscombined with wireless devices, such as personal digital assistants,personal media players, cell phones, smart phones and tablets, it canprovide many interesting possibilities. In some cases, wireless devicescan find available services in the near area automatically. Friends inthe same area can play games together with smart phones. Onecharacteristic of this proximity based service discovery is that eachdevice can be a service provider as well as a user. As such, it can bebeneficial for a first device to inform other devices about availableservices on the first device at the same relative time the first devicediscovers service from other devices. There are some existing servicediscovery protocols such as Wi-Fi Direct, Universal Plug and Play (Upnp)and Bonjour. However, existing protocols use individual serviceadvertisement or individual service request and response and, as such,when the number of devices in an area increases, existing servicediscovery protocols can create high communication traffic volumes andcan cause each station to consume a lot of energy monitoring andresponding to service discovery requests.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a direct service discovery protocol system.

FIG. 2 illustrates generally a system of stations employing an examplecoordinated request and response service discovery protocol.

FIG. 3 illustrates generally an example method of coordinated requestand response service discovery.

DESCRIPTION

FIG. 1 illustrates generally a service discovery protocol system 100that expects a station (S) to listen often for service information fromother stations and to broadcast often to advertise services the stationhas available or is interested in using. In certain examples, severalstations can belong to a group 101, 102, 103 of stations. For example, agroup of stations can be associated by a particular service each stationis interested in or a service that can be used by each of the memberstations of the group. To learn what other services may be availablefrom one or more other groups or stations within the one or more othergroups, each station can be expected to monitor each other station. Thistype of service discovery protocol can be limiting. For example, if astation's user desires to be aware of as much service or socialinformation as possible and to advertise to other stations the socialinformation or services of the user's station, the station can consumeappreciable energy in waking and listening for nearby stations and intransmitting beacons to advertise the station's social information andservices.

The inventors have recognized a more efficient reactive servicediscovery protocol that can assist in service and social informationawareness and can advertise general social information and services of astation on a regular basis while at the same time reducing overhead andenergy consumption associated with acquiring service information ofother groups and stations. FIG. 2 illustrates generally a system 200 ofstations (S), such as wireless devices, using an example coordinatedquery, or request, and response service discovery protocol. In certainexamples, the system 200 can include one or more groups 201, 202, 203 ofone or more stations. Each group can provide a publishing beacon at apublishing interval. In certain examples, the publishing beacon caninclude general service and social information associated with themembers of the group. A publishing beacon can be received by memberstations of the group and by non-member stations. In certain examples,the publishing beacon can include information associated with a querywindow of the group and the information can be used to notify member andnon-member stations of an anticipated service request to be made duringthe query window. In some examples, the information about the querywindow can include a beginning time for the query window and duration ofthe query window. In certain examples, the query window can beassociated with a coordinated request and response event 220 that can beused to efficiently discover and propagate service information of otherstations or other groups. In certain examples, a query window canprovide an interval of time when a station associated with the group isexpected to request service information from a non-member station,listen for service requests or responses from non-member stations, or acombination thereof.

If a service request is received during a query window, a response canprovide more detailed service information about the receiving station orgroup to the querying station. In some examples, a querying station cancoordinate a service request and response event 220 with other stations,such as other stations associated with the querying station in a group,by letting the other stations know in advance that a query will be made.The other interested stations in the group can then wake during thequery window to listen to the detailed service information. Asillustrated in FIG. 2, social and service information of the groups canbe more efficiently exchange using a coordinated request and responseservice discovery protocol according to the present subject matter. InFIG. 2, the dashed lines extending from the request and response events220 indicate that other stations (S) can listen for, and discover,service information using a service request of a different station.Efficiency can be realized in terms of reduced communication traffic,and wider information exchange with reduced power consumption of eachstation of the system.

In certain examples, a group can include only members that can directlycommunicate with each other member of the group directly. This type ofgroup can be referred to as a group arranged to communicate with eachother station of the group using a single hop. For a new member to jointhe group, the new member may be expected to communicate directly witheach existing member of the group before being accepted to the group.

In certain examples, each station can be a wireless station. In someexamples, each station can include a transmitter, a receiver, or atransceiver capable of communication over an Institute of Electrical andElectronic Engineers (IEEE) 802.11 compatible wireless network. Incertain examples, a wireless communication module can include atransmitter, a receiver, or a transceiver capable of communication overan IEEE 802.11 compatible wireless network. IN some examples, thewireless communication module can include a processor, memory and anantenna operable with an IEEE 802.11 compatible transmitter, receiver,or transceiver. In certain examples, the wireless communication modulecan wirelessly communicate information be stored in, or retrieved fromthe memory. In some examples, the transceiver, transmitter, or receivercan exchange control commands with the processor to control a mode ofthe wireless communication device such as switching the wirelesscommunication device or a portion thereof into and out of a sleep mode,for example.

FIG. 3 illustrates generally an example method 300 of coordinatedrequest and response service discovery. The example method 300illustrates communication activity of four stations (A, B, C, D). Thefirst three stations (A, B, C) can be associated in a group. In certainexamples, a fourth station (D) can be associated with a second group. Incertain examples, the fourth station may not be associated with a group.In certain examples, the stations (A, B, C) associated with the firstgroup can alternately transmit or broadcast a publishing beacon 301 toadvertise social information or service information associated with thefirst group. For example, the first station (A) of first group canbroadcast a first publishing beacon 301 _(A), a beacon interval (T)later; the second station (B) of the first group can broadcast a secondpublishing beacon 301 _(B). A beacon interval (T) later, the thirdstation (C) of the first group can broadcast a third publishing beacon301 _(C). In general, a station can switch to a sleep mode betweenbroadcasts of the publishing beacons. In certain examples, a sleep modecan conserve battery energy by operating the station's processor,memory, or transceiver in a reduced energy mode of operation that canextend operation of the station between charges of the battery.

In certain examples, after broadcast of a publishing beacon, the stationthat broadcast the publishing beacon can listen for join requests duringa join window 308. Join requests can be transmitted by a stationinterested in joining the publishing group. In some examples, apublishing beacon can include timing information associated with thejoin window. In certain examples, each broadcast of a publishing beaconcan be followed by a join window. In certain examples, a join window maynot follow each broadcast of a publishing beacon.

In certain examples, stations of a group can be referred to as anup-stream station or downstream station relative to another station of agroup. For example, referring to the example of FIG. 3, the firststation (A) of the first group can be referred to as the immediatelyup-stream station of the second station (B). The second station (B) canbe referred to as the immediately up-stream station of the third station(C), and so on. In certain systems, the first station (A) can bereferred to as the immediately down-stream station of the third station(C). The second station (B) can be referred to as the immediatelydown-stream station of the first station (A), and so on. In certainexamples, an immediately down-stream station can wake up 309 _(A), 309_(B), 309 _(C), to receive a publishing beacon from an up-stream device.In such an example group, changes to the group or timing informationassociated with various protocol communications can be propagated toeach member of the group. In certain examples, having a down-streamstation receive a publishing beacon of an up-stream device canfacilitate coordinated service discovery.

In certain examples, a station of a first group of stations can betriggered to discover whether there are any other non-member stationsnearby, or to discover a second group of stations nearby. In certainexamples, the trigger can be a user determined trigger. In someexamples, the trigger can be a scheduled discovery trigger. In someexamples, the station can be programmed to execute service updates inthe form of a coordinated request and response service discovery eventat a threshold frequency. In some examples, the trigger can be set byreceiving a publishing beacon from a non-member station. In theillustrated example of FIG. 3, the first station (A) can be triggered todiscover another station that is nearby or another group of stationsthat is nearby and to discover any social information or serviceinformation about the station or the group. In pursuing the discovery, astation of a group can prepare the other station of the group for ananticipated service request and response event such that each interestedstation in the group can simultaneously discover nearby social andservice information in a coordinated and low energy manner. In certainexamples, a service request can be transmitted with the expectation thata station receiving the request will respond with detailed informationregarding that station's available services or with detailed serviceinformation of a group associated with that station.

For example, referring again to FIG. 3, the first station (A) canbroadcast a fourth publishing beacon 302 _(A). The fourth publishingbeacon 302 _(A) can include service alert information, such as timinginformation associated with a query window 303 of the anticipatedservice request and response event. The alert information can bedistributed throughout the group via subsequent publishing beacons 302_(B), 302 _(C) of the stations (B, C) down-stream from the first station(A). In certain examples, the alert information can provide generalcategories of social information and services that may be discoveredduring the anticipated service request and response event. Suchinformation may have been received from a publishing beacon of a nearbystation or group of stations, such as the fourth station (D). In certainexamples, considerations of an initiating station, for example the firststation (A), for scheduling a query window (303) can include theavailable timing of a target group or target station (D) and the timeneeded for the propagation of a designated wake up time for otherstations (B, C) of the first group. In certain examples, the alertinformation can include a group identifier associated with the targetgroup. Such information can be used by the target group or targetstation to prepare for the service request and response event during thequery window 303.

In certain examples, a station can include an interest parameter and awake-up alarm. The interest parameter, in some examples, can includevalues that indicate services the station is actually interested infinding or discovering. In some examples, the interest parameterincludes user settable values. In certain examples, the wake-up alarmcan be set with one or more times to wake the processor, memory ortransceiver of the station from a sleep mode to participate in an event,for example, a beacon transmission or a request and response servicediscovery event. When the station receives a publishing beaconindicative of an anticipated service request and response event, thestation can compare values of the interest parameter to the generalservice categories discoverable during the event and can determinewhether to set the wake up alarm for the event based on the comparison.In some examples, a station can include a battery level indicator thatcan provide an indication of remaining battery capacity of the station.In certain examples, the station can compare the battery levelindication to a threshold level to determine whether to set the wake-upalarm for a request and response service discovery event. In certainexamples, a station can include memory associated with a processor forstoring and retrieving parameters, such as an interest parameter or aparameter indicative of battery capacity.

In the illustrated example of FIG. 3, the fourth station (D) can receivethe alert information and can prepare to participate in the anticipatedservice request and response event. In certain examples, the alertinformation can be targeted at a particular non-member station or at aparticular nearby group such that the targeted station (D) or a stationwithin the targeted group can prepare and participate in the anticipatedquery and response event.

In certain examples, the query window 303 can be scheduled arbitrarilywith respect to the timing for the publishing beacon of the group. Insome examples, the query window 303 can be scheduled to overlap with ajoin window 308 _(A). In some examples, just before or during the querywindow 303, the first station (A) can transmit a service request 304 andthen listen for a service response transmission 305. In certainexamples, a service response transmission can also be referred to as aservice response frame or simply, a service response.

In certain examples, a fourth station can wake-up 310, from a sleep modefor example, to receive the service request 304. In certain examples,upon receiving a service request 304, the fourth station (D) can providedetailed service information in a service response transmission 305. Incertain examples, the detailed service information can include detailedservice information associated with the fourth station (D). In someexamples, the fourth station (D) can be a member of a second group ofstations and the service information can include detailed serviceinformation associated with the fourth station (D) as well as detailedservice information associated with each of the other stations of thesecond group.

In certain examples, one or more other stations (B, C) can wake-up 306to receive the service response transmission 305 from the fourth station(D). In doing so, detailed service information can be discovered moreefficiently by having more than one station of one or more groupsreceive the service response transmission, thus, having more than onestation discovering services for each service discovery request.

In certain examples, a coordinated service discovery method according tothe present subject matter can efficiently provide a station with anumber of available services and social contacts using substantiallyless energy than if the station was expected to use individual directrequest and response communications to discover each of those availableservices and contacts. In certain circumstances, operationalopportunities of a station that relies on a limited energy source, suchas a battery, can be extended using a coordinated service discoverymethod according to the present subject matter.

EXAMPLES AND ADDITIONAL NOTES

In Example 1, a method for grouped based reactive service discovery caninclude broadcasting a first group beacon at a group interval using afirst station belonging to a first group of stations, and broadcasting aservice request to a second group during a query interval of the secondgroup. The first group beacon can include a service update alertconfigured to alert other members of the first group of an anticipatedservice request and response event to learn services available from thesecond group. The service update alert including a beginning time forthe anticipated service request and response event corresponding to thequery interval of the second group.

In Example 2, the service update alert of Example 1 optionally includesa group identifier associated with the second group.

In Example 3, the method of any one or more of Examples 1-2 optionallyincludes receiving a second group beacon from the second group, andsetting the beginning time using the second group beacon.

In Example 4, the second beacon of any one or more of Examples 1-3optionally includes query time information of the second group, and thesetting the beginning time of any one or more of Examples 1-3 optionallyincludes setting the beginning time using the query time information ofthe second group beacon.

In Example 5, each of the stations belonging to the first group ofstations, including the first station, of any one or more of Examples1-4 optionally are arranged to communicate with each other station ofthe first group of stations using a single hop.

In Example 6, a method for grouped based reactive service discovery caninclude receiving at a first station of a first group of stations aservice update alert indicating a beginning time for an anticipatedservice request and response event to learn services available from asecond group of stations, switching the first station to a sleep mode toconserve energy, waking the first station from the sleep mode at or nearthe beginning time, and receiving a service response frame from thesecond group of stations at the first station.

In Example 7, the receiving the service response frame of any one ormore of Examples 1-6 optionally includes receiving service informationof the second group.

In Example 8, the receiving the service response frame from the secondgroup of any one or more of Examples 1-7 optionally includes receiving aservice request transmitted from the first group to the second group.

In Example 9, the receiving the service update alert of any one or moreof Examples 1-8 optionally includes receiving a group identifierconfigured to identify the second group.

In Example 10, the waking the first station from the sleep mode of anyone or more of Examples 1-9 optionally includes verifying a batterylevel indication of the first station is greater than a threshold.

In Example 11, the waking the first station from the sleep mode of anyone or more of Examples 1-10 optionally includes verifying an intervalof time since a last service update of the first station is greater thana programmable update frequency threshold of the first station.

In Example 12, a wireless communication station configured for groupedbased reactive service discovery can include an IEEE 802.11 compatiblewireless transceiver. The IEEE 802.11 compatible wireless transceivercan be configured to receive a service update alert indicating abeginning time for an anticipated service request and response eventfrom a first group of stations, to switch the processor to a sleep modeto conserve energy, to wake the processor from the sleep mode at or nearthe beginning time, and to receive a service response frame from asecond group of stations.

In Example 13, the service update alert of any one or more of Examples1-12 optionally includes a group identifier configured to identify thesecond group of stations.

In Example 14, the service response frame of any one or more of Examples1-13 optionally includes service information of the second group.

In Example 15, the IEEE 802.11 compatible wireless transceiver of anyone or more of Examples 1-14 optionally is configured to receive aservice request of the first group, wherein the service request isconfigured to be received by a station of the second group.

In Example 16, the IEEE 802.11 compatible wireless transceiver of anyone or more of Examples 1-15 optionally is configured to verify abattery level indication of the first station is greater than athreshold before waking the processor.

In Example 17, the IEEE 802.11 compatible wireless transceiver of anyone or more of Examples 1-16 optionally is configured to verify aninterval of time since a last service update of the first wirelesscommunication station is greater than a programmable update frequencythreshold of the first wireless communication station before waking theprocessor.

In Example 18, a wireless communication station configured for groupedbased reactive service discovery can include a processor, memory coupledto the processor, an antenna, and an IEEE 802.11 compatible wirelesstransceiver. The IEEE 802.11 compatible wireless transceiver can beconfigured to provide wireless communication of information to be storedinto and retrieved from the memory using the antenna, to receive aservice update alert indicating a beginning time of a query window of ananticipated service request and response event of a first group ofstations, to switch the processor to a sleep mode to conserve energy, towake the processor from the sleep mode at or near the beginning time,and to receive a service response frame from a second group of stationsduring the query window.

In Example 19, the IEEE 802.11 compatible wireless transceiver of anyone or more of Examples 1-18 optionally is configured to propagate theservice update alert to other stations of the first group. The serviceupdate alert of any one or more of Examples 1-18 optionally includes agroup identifier configured to identify the second group of stations.The service response frame of any one or more of Examples 1-18optionally includes service information of the second group.

In Examples 20, the transceiver of any one or more of Examples 1-19optionally is configured to transmit a second service update alertconfigured to alert other members of the first group of a secondanticipated service request and response event to learn servicesavailable from a third group of stations, the second service updatealert including a beginning time for a query window of the third group,to transmit a second service request for service information of thethird group during the query window, and to receive a second serviceresponse including the service information of the third group from astation of the third group.

Example 21 can include, or can optionally be combined with any portionor combination of any portions of any one or more of Examples 1 through20 to include, subject matter that can include means for performing anyone or more of the functions of Examples 1 through 20, or amachine-readable medium including instructions that, when performed by amachine, cause the machine to perform any one or more of the functionsof Examples 1 through 20.

Embodiments may be implemented in one or a combination of hardware,firmware and software. Embodiments may also be implemented asinstructions stored on a computer-readable storage device, which may beread and executed by at least one processor to perform the operationsdescribed herein. A computer-readable storage device may include anynon-transitory mechanism for storing information in a form readable by amachine (e.g., a computer). For example, a computer-readable storagedevice may include read-only memory (ROM), random-access memory (RAM),magnetic disk storage media, optical storage media, flash-memorydevices, and other storage devices and media. Some embodiments mayinclude one or more processors and may be configured with instructionsstored on a computer-readable storage device.

The above detailed description includes references to the accompanyingdrawings, which form a part of the detailed description. The drawingsshow, by way of illustration, specific embodiments in which the subjectmatters can be practiced. These embodiments are also referred to hereinas “examples.” All publications, patents, and patent documents referredto in this document are incorporated by reference herein in theirentirety, as though individually incorporated by reference. In the eventof inconsistent usages between this document and those documents soincorporated by reference, the usage in the incorporated reference(s)should be considered supplementary to that of this document; forirreconcilable inconsistencies, the usage in this document controls.

In this document, the terms “a” or “an” are used, as is common in patentdocuments, to include one or more than one, independent of any otherinstances or usages of “at least one” or “one or more.” In thisdocument, the term “or” is used to refer to a nonexclusive or, such that“A or B” includes “A but not B,” “B but not A,” and “A and B,” unlessotherwise indicated. In the appended claims, the terms “including” and“in which” are used as the plain-English equivalents of the respectiveterms “comprising” and “wherein.” Also, in the following claims, theterms “including” and “comprising” are open-ended, that is, a system,device, article, or process that includes elements in addition to thoselisted after such a term in a claim are still deemed to fall within thescope of that claim. Moreover, in the following claims, the terms“first,” “second,” and “third,” etc. are used merely as labels, and arenot intended to impose numerical requirements on their objects. Theabove description is intended to be illustrative, and not restrictive.In other examples, the above-described examples (or one or more aspectsthereof) may be used in combination with each other. Other embodimentscan be used, such as by one of ordinary skill in the art upon reviewingthe above description. The Abstract is provided to comply with 37 C.F.R.§1.72(b), to allow the reader to quickly ascertain the nature of thetechnical disclosure. It is submitted with the understanding that itwill not be used to interpret or limit the scope or meaning of theclaims. Also, in the above Detailed Description, various features may begrouped together to streamline the disclosure. This should not beinterpreted as intending that an unclaimed disclosed feature isessential to any claim. Rather, inventive subject matter may lie in lessthan all features of a particular disclosed embodiment. Thus, thefollowing claims are hereby incorporated into the Detailed Description,with each claim standing on its own as a separate embodiment. The scopeof the invention should be determined with reference to the appendedclaims, along with the full scope of legal equivalents to which suchclaims are entitled.

What is claimed is:
 1. A method for grouped based reactive service discovery, the method comprising: broadcasting a first group beacon at a group interval using a first station belonging to a first group of stations, the first group beacon including a service update alert configured to alert other members of the first group of an anticipated service request and response event to learn services available from a second group, the service update alert including a beginning time for the anticipated service request and response event corresponding to a query interval of the second group; and broadcasting a service request to the second group during the query interval of the second group.
 2. The method of claim 1, wherein the service update alert includes a group identifier associated with the second group.
 3. The method of claim 1, including receiving a second group beacon from the second group; and setting the beginning time using the second group beacon.
 4. The method of claim 3, wherein the second beacon includes query time information of the second group; and wherein setting the beginning time includes setting the beginning time using the query time information of the second group beacon.
 5. The method of claim 1, wherein each of the stations belonging to the first group of stations, including the first station, are arranged to communicate with each other station of the first group of stations using a single hop.
 6. A method for grouped based reactive service discovery, the method comprising: receiving at a first station of a first group of stations a service update alert indicating a beginning time for an anticipated service request and response event to learn services available from a second group of stations; switching the first station to a sleep mode to conserve energy; waking the first station from the sleep mode at or near the beginning time; and receiving a service response frame from the second group of stations at the first station.
 7. The method of claim 6, wherein receiving the service response frame includes receiving service information of the second group.
 8. The method of claim 6, wherein receiving the service response frame from the second group includes receiving a service request transmitted from the first group to the second group.
 9. The method of claim 6, wherein receiving the service update alert includes receiving a group identifier configured to identify the second group.
 10. The method of claim 6, wherein waking the first station from the sleep mode includes verifying a battery level indication of the first station is greater than a threshold.
 11. The method of claim 6, wherein waking the first station from the sleep mode includes verifying an interval of time since a last service update of the first station is greater than a programmable update frequency threshold of the first station.
 12. A wireless communication station configured for grouped based reactive service discovery, the wireless communication device comprising: an IEEE 802.11 compatible wireless transceiver configured: to receive a service update alert indicating a beginning time for an anticipated service request and response event from a first group of stations; to switch the processor to a sleep mode to conserve energy; to wake the processor from the sleep mode at or near the beginning time; and to receive a service response frame from a second group of stations.
 13. The wireless communication station of claim 12, wherein the service update alert includes a group identifier configured to identify the second group of stations.
 14. The wireless communication station of claim 12, wherein the service response frame includes service information of the second group.
 15. The wireless communication station of claim 12, wherein the IEEE 802.11 compatible wireless transceiver is configured to receive a service request of the first group, wherein the service request is configured to be received by a station of the second group.
 16. The wireless communication station of claim 12, wherein the IEEE 802.11 compatible wireless transceiver is configured to verify a battery level indication of the first station is greater than a threshold before waking the processor.
 17. The wireless communication station of claim 12, wherein the IEEE 802.11 compatible wireless transceiver is configured to verify an interval of time since a last service update of the first wireless communication station is greater than a programmable update frequency threshold of the first wireless communication station before waking the processor.
 18. A wireless communication station configured for grouped based reactive service discovery, the wireless communication device comprising: a processor; memory coupled to the processor; an antenna; and an IEEE 802.11 compatible wireless transceiver configured: to provide wireless communication of information to be stored into and retrieved from the memory using the antenna; to receive a service update alert indicating a beginning time of a query window of an anticipated service request and response event of a first group of stations, to switch the processor to a sleep mode to conserve energy; to wake the processor from the sleep mode at or near the beginning time; and to receive a service response frame from a second group of stations during the query window.
 19. The wireless communication station of claim 18, wherein the IEEE 802.11 compatible wireless transceiver is configured to propagate the service update alert to other stations of the first group; wherein the service update alert includes a group identifier configured to identify the second group of stations; and wherein the service response frame includes service information of the second group.
 20. The wireless communication station 18, wherein the transceiver is configured: to transmit a second service update alert configured to alert other members of the first group of a second anticipated service request and response event to learn services available from a third group of stations, the second service update alert including a beginning time for a query window of the third group; to transmit a second service request for service information of the third group during the query window; and to receive a second service response including the service information of the third group from a station of the third group. 